package tema8;

import java.awt.Graphics;
import java.util.Observable;
import java.util.Observer;

import javax.swing.JPanel;

import tema8.graphics.CurveDrawer;
import tema8.modello.Curva;
import tema8.modello.ProxyCurva;

/**
 * Una classe Pannello che disegna una Curva sul suo Graphics.
 * In fase di costruzione, si registra come Observer sulla ProxyCurva che disegna. 
 * 
 * @author Alessandro Martinelli
 */
public class CurveTestPanel extends JPanel implements Observer{
	private Curva curva;

	public CurveTestPanel(ProxyCurva curva) {
		super();
		this.curva = curva;
		curva.addObserver(this);
	}
	
	@Override
	public void update(Observable o, Object arg) {
		repaint();//<---Importantissimo, altrimenti la grafica non si aggiornerebbe
	}
	
	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		CurveDrawer.drawCurva(g, curva, 80);
	}
}
